/*
 * #%L
 * SwiftUICommonUtilities
 * $Id:$
 * $HeadURL:$
 * %%
 * Copyright (C) 2011 - 2012 Linkwithweb
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either version 3 of the 
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public 
 * License along with this program.  If not, see
 * <http://www.gnu.org/licenses/gpl-3.0.html>.
 * #L%
 */
/////
// 
///
package com.linkwithweb.products.swiftui.utils;

/////
// @author ashwin kumar
// 
///
public interface SystemConstants {
	String ADD = "ADD";
	String EDIT = "EDIT";
	String DELETE = "DELETE";
	String UPDATE = "UPDATE";
	String HYPERLINK = "HYPERLINK";
	String FRAMEWORK_TABLE_PREFIX = "frm_";
	String FRAMEWORK_DATABASE = "automata";
	String IMAGEURL = "IMAGEURL";

	public class EntityTypes {
		public static String TABLE_DBOBJECT = "DBOBJECT";
		public static String TABLE_DBSQL = "DBSQL";
	}

	public interface ConditionalConstants {
		String EQUALS = "EQUALS";
		String CONTAINS = "CONTAINS";
		String STARTS_WITH = "STARTS_WITH";
		String ENDS_WITH = "ENDS_WITH";
	}

	public interface ColumnTypes {
		String TEXTFIELD = "TEXTFIELD";
		String PASSWORD = "PASSWORD";
		String TEXTAREA = "TEXTAREA";
		String LOV = "LOV";
		String CHECKBOX = "CHECKBOX";
		String BOOLEAN = "BOOLEAN";
		String TINYINT = "TINYINT";
		String INTEGER = "INTEGER";
		String NUMBER = "NUMBER";
		String BIT = "BIT";
		String DATETIME = "DATETIME";
		String DATE = "DATE";
		String TIME = "TIME";
		String TIMESTAMP = "TIMESTAMP";
		String PICKLIST = "PICKLIST";
		String FILEUPLOAD = "FILEUPLOAD";
		String IMAGEAREA = "IMAGEAREA";
	}

	public interface DataTypes {
		String INTEGER = "INTEGER";
		String STRING = "STRING";
		String BOOLEAN = "BOOLEAN";
		String BLOB = "BLOB";
	}

	public interface LovTypes {
		// References any Table/view
		String DBOBJECT = "DBOBJECT";
		// Get the lov values firing Lov SQL
		String SQL = "SQL";
		// Get values from Lov Values Table
		String SYSTEM = "SYSTEM";
	}

	public interface RicoFilterTypes {
		String M = "m";
		String S = "s";
	}

	/**
	 *string containing a code that controls how the column is displayed on the
	 * input form
	 */
	public interface RicoEntryTypes {
		/**
		 * S: Display this column as a drop-down select list during data entry.
		 * Values may be specified using the "SelectValues" or "SelectSql"
		 * options. If neither is specified, then the values for the column are
		 * obtained using a "select distinct" query.
		 */
		// 
		public String S = "S";
		/**
		 * R: Same as "S", except the items are displayed using radio buttons.
		 */
		public String R = "R";
		/**
		 * SL,RL: Same as S & R, except that a lookup value is displayed in
		 * table view (uses query specified by SelectSql). Typically used on
		 * columns that are foreign keys. SQL to get the display value is
		 * specified using the "SelectSql" option.
		 */
		public String SL = "SL";
		/**
		 * CL: Same as "SL", except that the value is selected using a custom
		 * control (such as the Rico Tree control). The SelectCtl option must be
		 * assigned the id of the custom control.
		 */
		public String CL = "CL";
		/**
		 * N: Same as "S", but allows the user to create a new value. Typically
		 * used without the "SelectValues" or "SelectSql" options.
		 */
		public String N = "N";
		/**
		 * H: column is hidden from the user (DefaultValue will be stored in the
		 * table on adds and edits)
		 */
		public String H = "H";
		/**
		 * D: this is a date field (blanks allowed if column allows nulls)
		 */
		public String D = "D";
		/**
		 * DT: same as D, except that it also includes the time
		 */
		public String DT = "DT";
		/**
		 * I: integer number (blanks allowed if column allows nulls and required
		 * is false)
		 */
		public String I = "I";
		/**
		 * F: floating-point number (blanks allowed if column allows nulls and
		 * required is false)
		 */
		public String F = "F";
		/**
		 * B: non-blank text field (user gets a popup message in form view when
		 * clicking save and the field is empty)
		 */
		public String B = "B";
		/**
		 * T: standard text field (blanks allowed)
		 */
		public String T = "T";
		/**
		 * TA: text area field
		 */
		public String TA = "TA";
		/**
		 * tinyMCE: rich text edit field using the tinyMCE library.
		 */
		public String TINY_MCE = "tinyMCE";
		/**
		 * Created By Ashwin to Hold Custom Entry Type For Checkbox
		 */
		public String CH = "CH";
	}

	public class FormActions {
		public static String ACTION_INSERT = "ins";
		public static String ACTION_UPDATE = "upd";
		public static String ACTION_DELETE = "del";
	}

	/**
	 * @author ashwin kumar
	 * 
	 */
	public interface DBTypes {
		String ORACLE = "ORACLE";
		String MYSQL = "MYSQL";
		String SQLSERVER = "SQLSERVER";
		String DB2 = "DB2";
	}

}
